package cl.tinet.trainee.bean;

import java.util.ArrayList;
import java.util.List;

import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;

import cl.tinet.trainee.dao.ProductoDAO;
import cl.tinet.trainee.dao.UsuarioDAO;
import cl.tinet.trainee.dto.ProductoDTO;
import cl.tinet.trainee.dto.UsuarioDTO;

/**
 * Session Bean implementation class UsuarioBean
 */
@Stateless
public class UsuarioBean implements UsuarioBeanLocal {
	@PersistenceContext(unitName="conexionTest")
	private EntityManager entityManager;
	
	private UsuarioDAO usuarioDao;
    /**
     * Default constructor. 
     */
//    public UsuarioBean() {
//        // TODO Auto-generated constructor stub
//    }

    public List<UsuarioDTO> listarUsuario() {
	    Query query = null;
	    query = entityManager
				.createQuery("SELECT u FROM UsuarioDTO u");
		
		return (ArrayList<UsuarioDTO>) query.getResultList();
		
	}
    
    public UsuarioDTO verificarUsuario(String nombreUsuario, String password){
    	this.usuarioDao= new UsuarioDAO(entityManager);
    	return usuarioDao.verifiacarUsuario(nombreUsuario,password);
    }
    
    public void registarUsuarioNuevo(UsuarioDTO usuarioDto){
    	this.usuarioDao= new UsuarioDAO(entityManager);
    	this.usuarioDao.registrarUsaurioNuevo(usuarioDto);
    }
    
    public boolean verificarUsuarioExistente(UsuarioDTO usuarioDTO){
    	this.usuarioDao= new UsuarioDAO(entityManager);
    	
    	return usuarioDao.verificarUsuarioExistente(usuarioDTO);
    }
   
	public UsuarioDAO getUsuarioDao() {
		return usuarioDao;
	}

	public void setUsuarioDao(UsuarioDAO usuarioDao) {
		this.usuarioDao = usuarioDao;
	}

	public EntityManager getEntityManager() {
		return entityManager;
	}
	public void setEntityManager(EntityManager entityManager) {
		this.entityManager = entityManager;
	}
    
    
}
